LIBPFM(3) | Linux Programmer's Manual | LIBPFM(3) |
NAME¶
pfm_regmask_set, pfm_regmask_isset, pfm_regmask_clr, pfm_regmask_weight, pfm_regmask_eq, pfm_regmask_and, pfm_regmask_or, pfm_regmask_copy - operations on pfmlib_regmask_t bitmasks
SYNOPSIS¶
#include <perfmon/pfmlib.h> int pfm_regmask_isset(pfmlib_regmask_t *mask, unsigned int b); int pfm_regmask_set(pfmlib_regmask_t *mask, unsigned int b); int pfm_regmask_clr(pfmlib_regmask_t *mask, unsigned int b); int pfm_regmask_weight(pfmlib_regmask_t *mask, unsigned int *w); int pfm_regmask_eq(pfmlib_regmask_t *mask1, pfmlib_regmask_t *mask2); int pfm_regmask_and(pfmlib_regmask_t *dest, pfmlib_regmask_t *m1, pmlib_regmask_t *m2); int pfm_regmask_or(pfmlib_regmask_t *dest, pfmlib_regmask_t *m1, pmlib_regmask_t *m2); int pfm_regmask_copy(pfmlib_regmask_t *dest, pfmlib_regmask_t *src);
DESCRIPTION¶
This set of function is used to operate of the pfmlib_regmask_t bitmasks that are returned by certain functions or passed to the pfm_dispatch_events() function.
To ensure portability, it is important that applications use only the functions specified here to access the bitmasks. It is strongly discouraged to access the internal fields of the pfm_regmask_t structure.
The pfm_regmask_set() function is used to set bit b in the bitmask mask.
The pfm_regmask_clr() function is used to clear bit b in the bitmask mask.
The pfm_regmask_isset() function returns a non-zero value if b is set in the bitmask mask.
The pfm_regmask_weight() function returns in w the number of bits set in the bitmask mask.
The pfm_regmask_eq() function returns a non-zero value if the bitmasks mask1 and mask2 are identical.
The pfm_regmask_and() function returns in bitmask dest the result of the logical AND operation between bitmask m1 and bitmask m2.
The pfm_regmask_or() function returns in bitmask dest the result of the logical OR operation between bitmask m1 and bitmask m2.
The pfm_regmask_copy() function copies bitmask src into bitmask dest.
RETURN¶
The function returns whether or not it was successful. A return value of PFMLIB_SUCCESS indicates success, otherwise the value is the error code.
ERRORS¶
PFMLIB_ERR_INVAL the bit b exceeds the limit supported by the library
AUTHOR¶
Stephane Eranian <eranian@hpl.hp.com>
Apr, 2006 |